1. Field of the Invention
The present invention relates generally to clustered multiprocessor systems, and more particularly to a multiprocessor system having a plurality of loosely coupled clusters sharing an expansion (external) memory.
2. Description of the Related Art
In a clustered multiprocessor system where an expansion memory is shared by a number of clusters to take advantage of its high speed performance and non-volatility, it is the usual practice to install it as an eternal device through an I/O bus of each cluster.
In a general-purpose, main-frame computer system as described in an article "PX 7800 Central Processing Unit", NEC Technical Report, Vol. 48, No. 911995, pages 28-36, an expansion memory adaptor is employed for interconnecting a number of clusters and an expansion memory. The adaptor is responsible for controlling data transfer between the main memory of each cluster and the expansion memory. Data transfer can be performed in one of two ways, the synchronous mode in which data transfer is performed synchronously with a CPU operation and the asynchronous mode in which data transfer is performed independently of the CPU operation. During the synchronous transfer mode, the start timing of the expansion memory adaptor is synchronized with the start of execution of an exclusive instruction from the CPU and the end timing of the transfer is determined during the execution of the instruction. The turnaround time of synchronous data transfer is sufficiently short for operations at software level. However, in the PX7800 system, the communication of an end-of-transfer event from the expansion memory adaptor to the CPU is via an interface designed specifically to the needs of that system. The asynchronous data transfer, on the other hand, involves staring the expansion memory adaptor and interrupting the process that invoked the starting of the adaptor and reporting the end of data transfer asynchronously to the CPU during the time another process is being executed. The CPU that received it must switch to the process that started the data transfer. As a result, the turnaround time of asynchronous data transfer is inappropriately long for software processing.
Japanese Laid-Open Patent Specification Hei-6-250915 describes a clustered multiprocessor system in which an expansion memory is shared among the clusters. An expansion memory adaptor is provided on the expansion memory side and includes a synchronization buffer and a data buffer. The synchronization buffer is used to absorb clock timing differences between the clusters and the expansion memory. The data buffer is used as a temporary storage area of data from the synchronization buffer before it is delivered to the expansion memory or as a temporary storage area for data from the expansion memory before it is forwarded to the synchronization buffer. However, the connection between the expansion memory and the clusters and their operations are not described in this specification.
If an expansion memory is connected to the system bus of each cluster via a transfer circuit, it can serve as a part or an equivalent of the main memory. If the clustered multiprocessor system is connected to a shared disk in a manner similar to UNIX servers, it is necessary to provide functions that are similar to those of the main memory. More specifically, the Operating System must be informed of the amount of the installed expansion memory units and the actually usable areas of the installed expansion memory units.